home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / awt / GridLayout.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.2 KB  |  201 lines

  1. package java.awt;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class GridLayout implements LayoutManager, Serializable {
  6.    private static final long serialVersionUID = -7411804673224730901L;
  7.    int hgap;
  8.    int vgap;
  9.    int rows;
  10.    int cols;
  11.  
  12.    public GridLayout() {
  13.       this(1, 0, 0, 0);
  14.    }
  15.  
  16.    public GridLayout(int var1, int var2) {
  17.       this(var1, var2, 0, 0);
  18.    }
  19.  
  20.    public GridLayout(int var1, int var2, int var3, int var4) {
  21.       if (var1 == 0 && var2 == 0) {
  22.          throw new IllegalArgumentException("rows and cols cannot both be zero");
  23.       } else {
  24.          this.rows = var1;
  25.          this.cols = var2;
  26.          this.hgap = var3;
  27.          this.vgap = var4;
  28.       }
  29.    }
  30.  
  31.    public int getRows() {
  32.       return this.rows;
  33.    }
  34.  
  35.    public void setRows(int var1) {
  36.       if (var1 == 0 && this.cols == 0) {
  37.          throw new IllegalArgumentException("rows and cols cannot both be zero");
  38.       } else {
  39.          this.rows = var1;
  40.       }
  41.    }
  42.  
  43.    public int getColumns() {
  44.       return this.cols;
  45.    }
  46.  
  47.    public void setColumns(int var1) {
  48.       if (var1 == 0 && this.rows == 0) {
  49.          throw new IllegalArgumentException("rows and cols cannot both be zero");
  50.       } else {
  51.          this.cols = var1;
  52.       }
  53.    }
  54.  
  55.    public int getHgap() {
  56.       return this.hgap;
  57.    }
  58.  
  59.    public void setHgap(int var1) {
  60.       this.hgap = var1;
  61.    }
  62.  
  63.    public int getVgap() {
  64.       return this.vgap;
  65.    }
  66.  
  67.    public void setVgap(int var1) {
  68.       this.vgap = var1;
  69.    }
  70.  
  71.    public void addLayoutComponent(String var1, Component var2) {
  72.    }
  73.  
  74.    public void removeLayoutComponent(Component var1) {
  75.    }
  76.  
  77.    public Dimension preferredLayoutSize(Container var1) {
  78.       synchronized(var1.getTreeLock()) {
  79.          Insets var3 = var1.getInsets();
  80.          int var4 = var1.getComponentCount();
  81.          int var5 = this.rows;
  82.          int var6 = this.cols;
  83.          if (var5 > 0) {
  84.             var6 = (var4 + var5 - 1) / var5;
  85.          } else {
  86.             var5 = (var4 + var6 - 1) / var6;
  87.          }
  88.  
  89.          int var7 = 0;
  90.          int var8 = 0;
  91.  
  92.          for(int var9 = 0; var9 < var4; ++var9) {
  93.             Component var10 = var1.getComponent(var9);
  94.             Dimension var11 = var10.getPreferredSize();
  95.             if (var7 < var11.width) {
  96.                var7 = var11.width;
  97.             }
  98.  
  99.             if (var8 < var11.height) {
  100.                var8 = var11.height;
  101.             }
  102.          }
  103.  
  104.          return new Dimension(var3.left + var3.right + var6 * var7 + (var6 - 1) * this.hgap, var3.top + var3.bottom + var5 * var8 + (var5 - 1) * this.vgap);
  105.       }
  106.    }
  107.  
  108.    public Dimension minimumLayoutSize(Container var1) {
  109.       synchronized(var1.getTreeLock()) {
  110.          Insets var3 = var1.getInsets();
  111.          int var4 = var1.getComponentCount();
  112.          int var5 = this.rows;
  113.          int var6 = this.cols;
  114.          if (var5 > 0) {
  115.             var6 = (var4 + var5 - 1) / var5;
  116.          } else {
  117.             var5 = (var4 + var6 - 1) / var6;
  118.          }
  119.  
  120.          int var7 = 0;
  121.          int var8 = 0;
  122.  
  123.          for(int var9 = 0; var9 < var4; ++var9) {
  124.             Component var10 = var1.getComponent(var9);
  125.             Dimension var11 = var10.getMinimumSize();
  126.             if (var7 < var11.width) {
  127.                var7 = var11.width;
  128.             }
  129.  
  130.             if (var8 < var11.height) {
  131.                var8 = var11.height;
  132.             }
  133.          }
  134.  
  135.          return new Dimension(var3.left + var3.right + var6 * var7 + (var6 - 1) * this.hgap, var3.top + var3.bottom + var5 * var8 + (var5 - 1) * this.vgap);
  136.       }
  137.    }
  138.  
  139.    public void layoutContainer(Container var1) {
  140.       synchronized(var1.getTreeLock()) {
  141.          Insets var3 = var1.getInsets();
  142.          int var4 = var1.getComponentCount();
  143.          int var5 = this.rows;
  144.          int var6 = this.cols;
  145.          boolean var7 = var1.getComponentOrientation().isLeftToRight();
  146.          if (var4 != 0) {
  147.             if (var5 > 0) {
  148.                var6 = (var4 + var5 - 1) / var5;
  149.             } else {
  150.                var5 = (var4 + var6 - 1) / var6;
  151.             }
  152.  
  153.             int var8 = var1.width - (var3.left + var3.right);
  154.             int var9 = var1.height - (var3.top + var3.bottom);
  155.             var8 = (var8 - (var6 - 1) * this.hgap) / var6;
  156.             var9 = (var9 - (var5 - 1) * this.vgap) / var5;
  157.             if (var7) {
  158.                int var10 = 0;
  159.  
  160.                for(int var11 = var3.left; var10 < var6; var11 += var8 + this.hgap) {
  161.                   int var12 = 0;
  162.  
  163.                   for(int var13 = var3.top; var12 < var5; var13 += var9 + this.vgap) {
  164.                      int var14 = var12 * var6 + var10;
  165.                      if (var14 < var4) {
  166.                         var1.getComponent(var14).setBounds(var11, var13, var8, var9);
  167.                      }
  168.  
  169.                      ++var12;
  170.                   }
  171.  
  172.                   ++var10;
  173.                }
  174.             } else {
  175.                int var19 = 0;
  176.  
  177.                for(int var20 = var1.width - var3.right - var8; var19 < var6; var20 -= var8 + this.hgap) {
  178.                   int var21 = 0;
  179.  
  180.                   for(int var22 = var3.top; var21 < var5; var22 += var9 + this.vgap) {
  181.                      int var23 = var21 * var6 + var19;
  182.                      if (var23 < var4) {
  183.                         var1.getComponent(var23).setBounds(var20, var22, var8, var9);
  184.                      }
  185.  
  186.                      ++var21;
  187.                   }
  188.  
  189.                   ++var19;
  190.                }
  191.             }
  192.  
  193.          }
  194.       }
  195.    }
  196.  
  197.    public String toString() {
  198.       return this.getClass().getName() + "[hgap=" + this.hgap + ",vgap=" + this.vgap + ",rows=" + this.rows + ",cols=" + this.cols + "]";
  199.    }
  200. }
  201.